#ifndef MORP_H_
#define MORP_H_
#include <string>
#include <list>

#include <sys/types.h>
#include <sys/stat.h>
#include <locale.h>

#include "../common/utilit.h"
#include "../AgramtabLib/RusGramTab.h"
#include "../AgramtabLib/EngGramTab.h"
#include "../AgramtabLib/GerGramTab.h"
#include "../LemmatizerLib/Lemmatizers.h"
#include "../LemmatizerLib/Paradigm.h"

#include "morphprop.h"

class Morphology
   {
   public:
      Morphology()
		  /*!!*/: LemmatizerRussian(0), RusGramTab(0), LemmatizerEnglish(0),
		EngGramTab(0), LemmatizerGerman(0), GerGramTab(0)
	  {};
      void init( const char * path = 0 );
      std::string getMorphInfo( std::string& s, std::string lang = "" ) const;
      ~Morphology();

   protected:
		Morphprop				prop;
      CLemmatizerRussian * LemmatizerRussian;
      CRusGramTab        * RusGramTab;
      CLemmatizerEnglish * LemmatizerEnglish;
      CEngGramTab        * EngGramTab;
      CLemmatizerGerman  * LemmatizerGerman;
      CGerGramTab        * GerGramTab;
     
      std::list<std::string> getMorphInfo( CLemmatizer& lem, CAgramtab& gram, std::string s ) const;
   };



#endif /*MORP_H_*/
